GRASP is a collection of programs for determining wave functions for bound atomic state functions (ASF) which are then used in the prediction of atomic properties such as transition probabilities, hyperfine effects, and isotope shifts, as well as energy related properties such as electron affinities, excitation energies, and ionization potentials. The underlying atomic theory is Dirac theory as described by I. P. Grant in his book. The first version the present code implementing the same program structure as the non-relativistic atomic structure package, ATSP, was written in 1992 by F. A. Parpia. The calculation assumes that wave functions are represented by a linear combination of configuration state functions (CSFs) of given J and parity and that the CSFs are built from spin-angular and radial functions. The variational principle for a stationary energy is used to define expansion coefficients and radial functions. In the variational process the Dirac-Coulomb Hamiltonian is used which may include the effect of a finite nucleus. Other effects such as transverse photon (Breit), QED, or higher-order correlation effects may be included in a subsequent configuration interaction (RCI) program. Conceptually, CSFs are linear combination of Slater determinants, but in this package all matrix elements are evaluated using Spin-Angular theory as developed by Rudzikas and Gaigalas of Vilnius University, Lithuania. Sets of radial functions for a wave function are orthonormal. Biorthogonal transformations are used to compute transition probabilities between atomic states so that matrix elements can be evaluated between orthonormal sets. Radial equations are solved using finite-difference methods and expansions are computed using an iterative eigen-solver developed by A. Stathopoulos for sparse matrices. MPI versions distribute the calculation by columns of the interaction matrix in RCI, and the outermost loop in transition calculations.
Test runs and examples are included with the source code.